// vars/loadConfig.groovy

def call(body) {
    def config = [:]
    body.resolveStrategy = Closure.DELEGATE_FIRST
    body.delegate = config
    
    body()
    
    if(params.SNAPSHOT != null){
        config.put('SNAPSHOT', params.SNAPSHOT)
    }else{
        config.put('SNAPSHOT', SNAPSHOT)
    }
    
    if(params.GIT_URL != null){
        config.GIT_URL = params.GIT_URL
    }

    if(params.GIT_BRANCH != null){
        config.GIT_BRANCH = params.GIT_BRANCH
    }else if(config.GIT_BRANCH == null){
        config.GIT_BRANCH = 'master'
    }

    if(params.IMG_VERSION != null){
        config.IMG_VERSION = params.IMG_VERSION
    }
    
    if(config.SCM == null){
        config.SCM = true
    }
    if(config.DEPLOY == null){
        config.DEPLOY = true
    }
    if(config.POM == null){
        config.POM = 'pom'
    }
    if(config.RELEASE_POM == null){
        config.RELEASE_POM = 'pom'
    }
    config.PROFILE = params.PROFILE    
    if(params.NODE_TYPE != null){
        config.NODE_TYPE = '-' + params.NODE_TYPE.trim()
    }else{
        config.NODE_TYPE = ''
    }
    assert(config.APP_NAME)
    assert(config.IMG_VERSION)
    
    return config
}